vim.api.nvim_create_autocmd("BufReadPost", {
  pattern = "*",
  callback = function()
    if vim.fn.line("'\"") > 0 and vim.fn.line("'\"") <= vim.fn.line("$") then
      vim.fn.setpos(".", vim.fn.getpos("'\""))
      vim.cmd("silent! foldopen")
    end
  end,
})

vim.cmd([[autocmd BufNewFile,BufRead *.memo set filetype=memo]])

vim.api.nvim_set_hl(0, 'ExtraWhitespace', {ctermbg = 'red', bg = 'red'})
vim.cmd([[match ExtraWhitespace /\s\+$/]])

-- vim.api.nvim_set_hl(0, 'ExtraWhitespace', {bg = '#ff0000'})
-- vim.api.nvim_create_autocmd("ColorScheme", {
--   pattern = "*",
--   callback = function()
--     -- vim.api.nvim_set_hl(0, 'ExtraWhitespace', {ctermbg = 'red', bg = 'red'})
--     -- vim.cmd([[match ExtraWhitespace /\s\+$/]])
--     -- vim.fn.matchadd('ExtraWhitespace', '\\s\\+$')
--     vim.fn.matchadd('ExtraWhitespace', [[\s\+$]])
--   end,
-- })

vim.api.nvim_create_autocmd({"VimEnter", "InsertLeave"}, {
  pattern = "*",
  callback = function()
    -- 切换英文
    vim.fn.system("im-select.exe 1033")
  end,
})

vim.api.nvim_create_autocmd({"VimLeave", "InsertEnter"}, {
  pattern = "*",
  callback = function()
    -- 切换中文
    vim.fn.system("im-select.exe 2052")
  end,
})

vim.api.nvim_create_autocmd("BufWritePre", {
  pattern = "*",
  callback = function()
    vim.cmd([[:%s/\s\+$//e]])
  end,
})

vim.api.nvim_create_autocmd({"BufNewFile", "BufRead"}, {
  pattern = {"*.lua", "*.json"},
  callback = function()
    vim.opt.tabstop = 2
    vim.opt.shiftwidth = 2
  end,
})

vim.api.nvim_create_autocmd("FileType", {
  pattern = "dosbatch",
  callback = function()
    vim.api.nvim_buf_set_keymap(
    0,
    "n",
    "<F5>",
    -- ":te python %<CR>i",
    ":sp<CR>:te %<CR>i",
    { silent = true, noremap = true }
    )
  end,
})

vim.api.nvim_create_autocmd("FileType", {
  pattern = "python",
  callback = function()
    vim.api.nvim_buf_set_keymap(
    0,
    "n",
    "<F5>",
    -- ":te python %<CR>i",
    ":sp<CR>:te python %<CR>i",
    { silent = true, noremap = true }
    )
  end,
})

vim.api.nvim_create_autocmd("FileType", {
  pattern = "lisp",
  callback = function()
    vim.api.nvim_buf_set_keymap(
    0,
    "n",
    "<F5>",
    -- ":te python %<CR>i",
    ":sp<CR>:te sbcl --script %<CR>i",
    { silent = true, noremap = true }
    )
  end,
})


vim.api.nvim_create_autocmd({"BufNewFile", "BufRead"}, {
  pattern = {"*.memo"},
  callback = function()
    vim.opt.listchars = "tab:>—,space:·"
    -- vim.opt.expandtab = false
    vim.opt.tabstop = 16
    vim.opt.softtabstop = 4
    vim.opt.shiftwidth = 4
  end,
})
